home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / Quickdraw.idl < prev    next >
Text File  |  1996-05-01  |  11KB  |  317 lines

  1. /*
  2.      File:        Quickdraw.idl
  3.  
  4.      Contains:    Quickdraw Graphics Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __QUICKDRAW_IDL__
  19. #define __QUICKDRAW_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __TYPES_IDL__
  25. #include <Types.idl>
  26. #endif
  27. #ifndef __MIXEDMODE_IDL__
  28. #include <MixedMode.idl>
  29. #endif
  30. #ifndef __QUICKDRAWTEXT_IDL__
  31. #include <QuickdrawText.idl>
  32. #endif
  33.  
  34. #ifdef __SOMIDL__
  35.  
  36. typedef SOMLargeStruct            RGBColor;                    /* Derived from a struct of 6 bytes in size */
  37.  
  38. typedef OpaquePtr                RGBColorPtr;                /* Substituted OpaquePtr for ``RGBColor*'' */
  39.  
  40. typedef OpaquePtr                RGBColorHdl;                /* Substituted OpaquePtr for ``RGBColorPtr*'' */
  41.  
  42. typedef SOMLargeStruct            ColorSpec;                    /* Derived from a struct of 8 bytes in size */
  43.  
  44. typedef OpaquePtr                ColorSpecPtr;                /* Substituted OpaquePtr for ``ColorSpec*'' */
  45.  
  46. typedef OpaquePtr                CSpecArray;                    /* Substituted OpaquePtr for array of ColorSpec of size 1 */
  47.  
  48. typedef SOMLargeStruct            ColorTable;                    /* Derived from a struct of 16 bytes in size */
  49.  
  50. typedef OpaquePtr                CTabPtr;                    /* Substituted OpaquePtr for ``ColorTable*'' */
  51.  
  52. typedef OpaquePtr                CTabHandle;                    /* Substituted OpaquePtr for ``CTabPtr*'' */
  53.  
  54. typedef SOMLargeStruct            xColorSpec;                    /* Derived from a struct of 10 bytes in size */
  55.  
  56. typedef OpaquePtr                xColorSpecPtr;                /* Substituted OpaquePtr for ``xColorSpec*'' */
  57.  
  58. typedef OpaquePtr                xCSpecArray;                /* Substituted OpaquePtr for array of xColorSpec of size 1 */
  59.  
  60. typedef SOMLargeStruct            GammaTbl;                    /* Derived from a struct of 14 bytes in size */
  61.  
  62. typedef OpaquePtr                GammaTblPtr;                /* Substituted OpaquePtr for ``GammaTbl*'' */
  63.  
  64. typedef OpaquePtr                GammaTblHandle;                /* Substituted OpaquePtr for ``GammaTblPtr*'' */
  65.  
  66. typedef OpaquePtr                Bits16;                        /* Substituted OpaquePtr for array of short of size 16 */
  67.  
  68. typedef SOMLargeStruct            Cursor;                        /* Derived from a struct of 68 bytes in size */
  69.  
  70. typedef OpaquePtr                CursPtr;                    /* Substituted OpaquePtr for ``Cursor*'' */
  71.  
  72. typedef OpaquePtr                CursHandle;                    /* Substituted OpaquePtr for ``CursPtr*'' */
  73.  
  74. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  75. #if OLDROUTINENAMES
  76. #endif
  77. typedef SInt8                    GrafVerb;
  78.  
  79. typedef SInt8                    PixelType;
  80.  
  81. /*
  82. **************   IMPORTANT NOTE REGARDING Pattern  **************************************
  83.    Patterns were originally defined as:
  84.    
  85.         C:             typedef unsigned char Pattern[8];
  86.         Pascal:        Pattern = PACKED ARRAY [0..7] OF 0..255;
  87.         
  88.    The old array defintion of Pattern would cause 68000 based CPU's to crash in certain circum-
  89.    stances. The new struct definition is safe, but may require source code changes to compile.
  90.    Read the details in TechNote "Platforms & Tools" #PT 38.
  91.     
  92. ********************************************************************************************
  93. */
  94. typedef SOMLargeStruct            Pattern;                    /* Derived from a struct of 8 bytes in size */
  95.  
  96. /*
  97.  ConstPatternParam is now longer needed.  It was first created when Pattern was an array.
  98.  Now that Pattern is a struct, it is more straight forward just add the "const" qualifier
  99.  on the parameter type (e.g. "const Pattern * pat" instead of "ConstPatternParam pat").
  100. */
  101. typedef OpaquePtr                ConstPatternParam;            /* Substituted OpaquePtr for ``Pattern*'' */
  102.  
  103. typedef OpaquePtr                PatPtr;                        /* Substituted OpaquePtr for ``Pattern*'' */
  104.  
  105. typedef OpaquePtr                PatHandle;                    /* Substituted OpaquePtr for ``PatPtr*'' */
  106.  
  107. typedef SignedByte                QDByte;
  108.  
  109. typedef OpaquePtr                QDPtr;                        /* Substituted OpaquePtr for ``QDByte*'' */
  110.  
  111. typedef OpaquePtr                QDHandle;                    /* Substituted OpaquePtr for ``QDPtr*'' */
  112.  
  113. typedef short                    QDErr;
  114.  
  115. typedef unsigned long            DeviceLoopFlags;
  116.  
  117. typedef SOMLargeStruct            BitMap;                        /* Derived from a struct of 14 bytes in size */
  118.  
  119. typedef OpaquePtr                BitMapPtr;                    /* Substituted OpaquePtr for ``BitMap*'' */
  120.  
  121. typedef OpaquePtr                BitMapHandle;                /* Substituted OpaquePtr for ``BitMapPtr*'' */
  122.  
  123. typedef SOMLargeStruct            PenState;                    /* Derived from a struct of 18 bytes in size */
  124.  
  125. typedef SOMLargeStruct            Region;                        /* Derived from a struct of 10 bytes in size */
  126.  
  127. typedef OpaquePtr                RgnPtr;                        /* Substituted OpaquePtr for ``Region*'' */
  128.  
  129. typedef OpaquePtr                RgnHandle;                    /* Substituted OpaquePtr for ``RgnPtr*'' */
  130.  
  131. typedef SOMLargeStruct            Picture;                    /* Derived from a struct of 10 bytes in size */
  132.  
  133. typedef OpaquePtr                PicPtr;                        /* Substituted OpaquePtr for ``Picture*'' */
  134.  
  135. typedef OpaquePtr                PicHandle;                    /* Substituted OpaquePtr for ``PicPtr*'' */
  136.  
  137. typedef SOMLargeStruct            Polygon;                    /* Derived from a struct of 14 bytes in size */
  138.  
  139. typedef OpaquePtr                PolyPtr;                    /* Substituted OpaquePtr for ``Polygon*'' */
  140.  
  141. typedef OpaquePtr                PolyHandle;                    /* Substituted OpaquePtr for ``PolyPtr*'' */
  142.  
  143. typedef OpaquePtr QDTextProcPtr;
  144. typedef OpaquePtr QDTextUPP;
  145. typedef OpaquePtr QDLineProcPtr;
  146. typedef OpaquePtr QDLineUPP;
  147. typedef OpaquePtr QDRectProcPtr;
  148. typedef OpaquePtr QDRectUPP;
  149. typedef OpaquePtr QDRRectProcPtr;
  150. typedef OpaquePtr QDRRectUPP;
  151. typedef OpaquePtr QDOvalProcPtr;
  152. typedef OpaquePtr QDOvalUPP;
  153. typedef OpaquePtr QDArcProcPtr;
  154. typedef OpaquePtr QDArcUPP;
  155. typedef OpaquePtr QDPolyProcPtr;
  156. typedef OpaquePtr QDPolyUPP;
  157. typedef OpaquePtr QDRgnProcPtr;
  158. typedef OpaquePtr QDRgnUPP;
  159. typedef OpaquePtr QDBitsProcPtr;
  160. typedef OpaquePtr QDBitsUPP;
  161. typedef OpaquePtr QDCommentProcPtr;
  162. typedef OpaquePtr QDCommentUPP;
  163. typedef OpaquePtr QDTxMeasProcPtr;
  164. typedef OpaquePtr QDTxMeasUPP;
  165. typedef OpaquePtr QDGetPicProcPtr;
  166. typedef OpaquePtr QDGetPicUPP;
  167. typedef OpaquePtr QDPutPicProcPtr;
  168. typedef OpaquePtr QDPutPicUPP;
  169. typedef OpaquePtr QDOpcodeProcPtr;
  170. typedef OpaquePtr QDOpcodeUPP;
  171. typedef OpaquePtr QDJShieldCursorProcPtr;
  172. typedef OpaquePtr QDJShieldCursorUPP;
  173. typedef SOMLargeStruct            QDProcs;                    /* Derived from a struct of 52 bytes in size */
  174.  
  175. typedef OpaquePtr                QDProcsPtr;                    /* Substituted OpaquePtr for ``QDProcs*'' */
  176.  
  177. typedef SOMLargeStruct            GrafPort;                    /* Derived from a struct of 108 bytes in size */
  178.  
  179. typedef OpaquePtr                GrafPtr;                    /* Substituted OpaquePtr for ``GrafPort*'' */
  180.  
  181. /*
  182.  *    This set of definitions "belongs" in Windows.
  183.  *    But, there is a circularity in the headers where Windows includes Controls and
  184.  *    Controls includes Windows. To break the circle, the information
  185.  *    needed by Controls is moved from Windows to Quickdraw.
  186. */
  187. typedef GrafPtr                    WindowPtr;
  188.  
  189. typedef WindowPtr                WindowRef;
  190.  
  191. typedef WindowPtr                DialogPtr;
  192.  
  193. /* DragConstraint constants to pass to DragGray,DragTheRgn, or ConstrainedDragRgn*/
  194. typedef UInt16                    DragConstraint;
  195.  
  196. typedef OpaquePtr DragGrayRgnProcPtr;
  197. typedef OpaquePtr DragGrayRgnUPP;
  198. /*
  199.  *    Here ends the list of things that "belong" in Windows.
  200. */
  201. typedef OpaquePtr ColorSearchProcPtr;
  202. typedef OpaquePtr ColorSearchUPP;
  203. typedef OpaquePtr ColorComplementProcPtr;
  204. typedef OpaquePtr ColorComplementUPP;
  205. typedef SOMLargeStruct            MatchRec;                    /* Derived from a struct of 10 bytes in size */
  206.  
  207. typedef SOMLargeStruct            PixMap;                        /* Derived from a struct of 50 bytes in size */
  208.  
  209. typedef OpaquePtr                PixMapPtr;                    /* Substituted OpaquePtr for ``PixMap*'' */
  210.  
  211. typedef OpaquePtr                PixMapHandle;                /* Substituted OpaquePtr for ``PixMapPtr*'' */
  212.  
  213. typedef SOMLargeStruct            PixPat;                        /* Derived from a struct of 28 bytes in size */
  214.  
  215. typedef OpaquePtr                PixPatPtr;                    /* Substituted OpaquePtr for ``PixPat*'' */
  216.  
  217. typedef OpaquePtr                PixPatHandle;                /* Substituted OpaquePtr for ``PixPatPtr*'' */
  218.  
  219. typedef SOMLargeStruct            CCrsr;                        /* Derived from a struct of 96 bytes in size */
  220.  
  221. typedef OpaquePtr                CCrsrPtr;                    /* Substituted OpaquePtr for ``CCrsr*'' */
  222.  
  223. typedef OpaquePtr                CCrsrHandle;                /* Substituted OpaquePtr for ``CCrsrPtr*'' */
  224.  
  225. #if OLDROUTINELOCATIONS
  226. typedef SOMLargeStruct            CIcon;                        /* Derived from a struct of 84 bytes in size */
  227.  
  228. typedef OpaquePtr                CIconPtr;                    /* Substituted OpaquePtr for ``CIcon*'' */
  229.  
  230. typedef OpaquePtr                CIconHandle;                /* Substituted OpaquePtr for ``CIconPtr*'' */
  231.  
  232. #endif
  233. typedef SOMLargeStruct            ITab;                        /* Derived from a struct of 7 bytes in size */
  234.  
  235. typedef OpaquePtr                ITabPtr;                    /* Substituted OpaquePtr for ``ITab*'' */
  236.  
  237. typedef OpaquePtr                ITabHandle;                    /* Substituted OpaquePtr for ``ITabPtr*'' */
  238.  
  239. typedef SOMLargeStruct            SProcRec;                    /* Derived from a struct of 8 bytes in size */
  240.  
  241. typedef OpaquePtr                SProcPtr;                    /* Substituted OpaquePtr for ``SProcRec*'' */
  242.  
  243. typedef OpaquePtr                SProcHndl;                    /* Substituted OpaquePtr for ``SProcPtr*'' */
  244.  
  245. typedef SOMLargeStruct            CProcRec;                    /* Derived from a struct of 8 bytes in size */
  246.  
  247. typedef OpaquePtr                CProcPtr;                    /* Substituted OpaquePtr for ``CProcRec*'' */
  248.  
  249. typedef OpaquePtr                CProcHndl;                    /* Substituted OpaquePtr for ``CProcPtr*'' */
  250.  
  251. typedef SOMLargeStruct            GDevice;                    /* Derived from a struct of 62 bytes in size */
  252.  
  253. typedef OpaquePtr                GDPtr;                        /* Substituted OpaquePtr for ``GDevice*'' */
  254.  
  255. typedef OpaquePtr                GDHandle;                    /* Substituted OpaquePtr for ``GDPtr*'' */
  256.  
  257. typedef SOMLargeStruct            GrafVars;                    /* Derived from a struct of 26 bytes in size */
  258.  
  259. typedef OpaquePtr                GVarPtr;                    /* Substituted OpaquePtr for ``GrafVars*'' */
  260.  
  261. typedef OpaquePtr                GVarHandle;                    /* Substituted OpaquePtr for ``GVarPtr*'' */
  262.  
  263. typedef SOMLargeStruct            CQDProcs;                    /* Derived from a struct of 80 bytes in size */
  264.  
  265. typedef OpaquePtr                CQDProcsPtr;                /* Substituted OpaquePtr for ``CQDProcs*'' */
  266.  
  267. typedef SOMLargeStruct            CGrafPort;                    /* Derived from a struct of 108 bytes in size */
  268.  
  269. typedef OpaquePtr                CGrafPtr;                    /* Substituted OpaquePtr for ``CGrafPort*'' */
  270.  
  271. typedef CGrafPtr                CWindowPtr;
  272.  
  273. typedef SOMFourByteStruct        ReqListRec;                    /* Derived from a struct of 4 bytes in size */
  274.  
  275. typedef SOMLargeStruct            OpenCPicParams;                /* Derived from a struct of 24 bytes in size */
  276.  
  277. typedef SOMLargeStruct            CursorImageRec;                /* Derived from a struct of 12 bytes in size */
  278.  
  279. typedef OpaquePtr                CursorImagePtr;                /* Substituted OpaquePtr for ``CursorImageRec*'' */
  280.  
  281. typedef OpaquePtr DeviceLoopDrawingProcPtr;
  282. typedef OpaquePtr DeviceLoopDrawingUPP;
  283. #if FOR_SYSTEM8_COOPERATIVE
  284. typedef DeviceLoopDrawingProcPtr NativeDeviceLoopDrawingProcPtr;
  285.  
  286. #endif
  287. typedef SOMLargeStruct            QDGlobals;                    /* Derived from a struct of 206 bytes in size */
  288.  
  289. typedef OpaquePtr                QDGlobalsPtr;                /* Substituted OpaquePtr for ``QDGlobals*'' */
  290.  
  291. typedef OpaquePtr                QDGlobalsHdl;                /* Substituted OpaquePtr for ``QDGlobalsPtr*'' */
  292.  
  293. #if OLDROUTINELOCATIONS
  294. #endif
  295. #if FOR_SYSTEM8_COOPERATIVE
  296. #endif
  297. #if CGLUESUPPORTED
  298. #endif
  299. #if OLDROUTINENAMES
  300. #if OLDROUTINELOCATIONS
  301. #endif
  302. #endif
  303. /*
  304.     From ToolUtils.i
  305. */
  306. #endif
  307. #if FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE
  308. /*
  309.     Also from ToolUtils.i
  310. */
  311. #endif
  312.  
  313. #endif /* __SOMIDL__ */
  314.  
  315. #endif /* __QUICKDRAW_IDL__ */
  316.  
  317.